MCP 供应链
rug pull、跨 server 拦截的攻击原理与哈希校验防御
核心要点:
- 授权是一次事件,不是持续状态
- rug pull:装时安全、之后静默变恶意
- 跨 server:恶意 server 操控可信调用
- 工具描述投毒藏在 schema 里
- 防御:哈希校验 + 签名 + 沙箱 + 最小权限
本文讲 MCP 工具的供应链安全。MCP 协议机制见 05-工具系统/03-MCP-协议,通用注入见 02-prompt-injection。
MCP 供应链为什么危险?
核心问题:装一个 MCP server 和装一个普通依赖,风险有何不同?
因为 MCP 的授权是一次性事件,而工具行为可以在授权后改变[1]。你在第 1 天批准了一个看起来安全的工具,它在第 7 天可以静默改成恶意——授权没有跟踪行为的持续状态。
这个"授权是事件不是持续状态"的漏洞是 MCP 供应链攻击的根源。普通依赖也有供应链风险,但 MCP 工具直接被一个有权限的 agent 自动调用,放大了影响。下面看两类典型攻击。
rug pull 怎么运作?
核心问题:"装时安全、之后变恶意"具体怎么实现?
rug pull 分四阶段:建立信任 → 积累使用 → 静默更新 → 持久渗透[1]。它精准利用授权的一次性。
攻击者先发布一个真正有用、无害的工具积累信任和安装量,等它被广泛集成后,静默推送一个改变工具行为的更新——把原本正常的操作改成数据外泄或恶意动作。实证案例包括 Postmark-MCP(邮件静默 BCC 给攻击者)和 GitHub MCP(私有仓库外泄)。工具投毒类攻击的危害有实测支撑:MCPTox 基准上 o1-mini 的攻击成功率达 72.8%[2]。这与 03-记忆系统/08 的"良性持久化失败"同源——都源于信任一旦给出就缺乏持续校验。
跨 server 攻击是什么?
核心问题:连了多个 MCP server,它们之间会互相影响吗?
会——一个恶意 server 的工具描述可以操控 agent 对另一个可信 server 的调用[^shumailov]。这是多 server 场景特有的攻击面。
恶意 server A 在自己的工具 description 里藏指令,影响 agent 如何调用受信 server B(例如诱导把 B 的输出转发给 A)。Maloyan & Namiot 量化:MCP 架构使攻击率提升 23-41%[3]。配合 02-prompt-injection 的 tool poisoning——恶意指令用 Base64/hex 编码藏进 schema 绕过人工审查——跨 server 攻击很难靠肉眼发现。
怎么防 MCP 供应链攻击?
核心问题:既然授权管不住后续行为,防御从哪入手?
把一次性授权变成每次执行的持续校验:哈希校验 + 签名 + 沙箱 + 最小权限[4]。核心是补上"授权后缺乏校验"的缺口。
- SHA-256 工具哈希校验:每次执行前比对工具哈希,工具一变就拒绝——直接堵 rug pull。
- 消息签名(如 ECDSA):验证工具调用与返回未被篡改。
- 沙箱化本地 server:即便工具变恶意,影响也被框在沙箱内(见 03-沙箱隔离)。
- 最小权限凭证:给每个 server 的权限压到最小。
可借鉴的核心原则:别把授权当一劳永逸,把它变成每次调用都重新校验的持续状态——哈希校验是把"事件"改回"状态"的最直接手段。
Takeaway
| 知识点 | 核心结论 |
|---|---|
| 危险根源 | 授权是一次事件,工具行为可在授权后改变 |
| rug pull | 建立信任→积累→静默更新→持久渗透 |
| 跨 server | 恶意 server 操控可信调用,攻击率 +23-41% |
| 工具投毒 | MCPTox 基准 o1-mini 攻击成功率 72.8% |
| tool poisoning | 恶意指令编码后藏进工具 schema |
| 防御 | 每次执行哈希校验 + 签名 + 沙箱 + 最小权限 |
参考资料
- Chen et al. Beyond the Protocol: Unveiling Attack Vectors in the MCP Ecosystem. arXiv:2506.02040, 2025. https://arxiv.org/abs/2506.02040
- Wang et al. MCPTox: A Benchmark for Tool Poisoning Attack on Real-World MCP Servers. arXiv:2508.14925, 2025. https://arxiv.org/abs/2508.14925
- Maloyan & Namiot. Breaking the Protocol: Security Analysis of the MCP Specification and Prompt Injection Vulnerabilities in Tool-Integrated LLM Agents. arXiv:2601.17549, 2026. https://arxiv.org/abs/2601.17549
- OWASP. MCP Security Cheat Sheet. 2025. https://cheatsheetseries.owasp.org/cheatsheets/MCP_Security_Cheat_Sheet.html
延伸阅读
- 02-prompt-injection — tool poisoning 的注入机制
- 05-工具系统/03-MCP-协议 — MCP 协议与 server 隔离设计